This document has styles in it. You may view them with a text editor such as Tex-Edit by Tom Bender or Style (1.2.1 or later) by Marco Piovanelli.
• SHAREWARE - $10 - CASH ONLY
◊ This program is distributed as Shareware: this means that if you like it or use it regularly you should send $10 (more or less, depending on how much you like this piece of software) to the author at the address above. Since collecting international cheques is VERY expensive, please send CASH ONLY. VERY expensive means that the banks can charge a sum which varies between $15 and $30. Thus, DO NOT send cheques.
◊ I have changed radically the pricing for Disk Charmer. The new Disk Charmer 2.x costs $10; the old Disk Charmer has been lowered to $10. You can register both versions with $20. If you are one of the (few) registered users of Disk Charmer 1.x who paid $20, you are automatically registered to Disk Charmer 2.x.
◊ NOTE: Getting some (usually very few) bucks is what you write shareware for, but getting a note, a postcard or anything else is a lot better than getting nothing. I would like to know how far this program has gone, so remember that you can do something nice even if you do not have a couple of $ to spare.
(part of this disclaimer was shamelessly copied from Alessandro Levi Montalcini’s documentation files… long live cut & paste!)
• GENERAL INFO
◊ I will not explain the obvious here, as Disk Charmer provides Balloon Help™, and you really don’t like manuals, do you?
◊ Disk Charmer is a small utility for erasing stacks of floppy disks. It sports background formatting, but only when the new Thread Manager is present. This new part of the Mac Operating System is available (as an extension) from the Apple ftp site (ftp.apple.com = 130.43.2.3), AppleLink, and perhaps other online services (your mileage may vary).
*In my humble opinion*, the Thread Manager might be included in future System Software releases, so that you may not need to install the extension.
A couple of friends of mine have experienced problems with the Thread Manager 1.1; these problems are not related to Disk Charmer (they happen with many applications, even with Apple’s ResEdit), and seem to come out only on particular Macintosh models. If you experience symptoms such as damaged resource files (Disinfectant is very handy for checking this), the Thread Manager is probably failing on your Mac model. [The Thread Manager 1.2 fixes this problem].
Furthermore, do not try ejecting the disk with the Command-shift-number combination while Disk Charmer initializes or verifies the disk and the Thread Manager is installed: the Operating System hangs.
◊ Disk Charmer 2.1 adds the capability of choosing whether to look for (and lock out) the bad sectors or not. Furthermore, when the message “now creating disk catalog and looking for bad sectors” appears, your Mac is no more tied up till this phase has finished as in Disk Charmer 2.0.x. This phase is actually made of two parts: the first part can execute concurrently with other applications, the second part (which starts only if the disk is bad) unfortunately cannot. This is Apple’s fault; it happens (sorry, this is technical jargon) that the _DIZero system routine may move memory, so it cannot be called at interrupt time, while the initializing and verifying routines may be called in a safe way.
I managed to add this feature in 2.1 with a clever hack; however, this hack does not break any of Apple’s guidelines, so it should be safe.
◊ You can launch Disk Charmer multiple times in a networking environment, as well as from a locked disk (CD-ROMs are welcome; by the way, if this application is included on a CD it would be nice to send me a complimentary copy of it).
◊ Disk Charmer is intelligent enough to use temporary memory when it needs to read in a disk, so you do not have to get mad setting its memory partition.
◊ Disk Charmer 2.x can only be used under System 7 or later; if you try to start it up under older versions of the System you will get an error message. (Sorry, Ingemar! :-) )
◊ You should notice that Disk Charmer allows switching among applications while operating. This happens because I use “asynchronous” reads and writes from/to the disks. Macs with I/O chips (IIfx, Quadra 800, 900, 950, probably the Workgroup Servers, and the new awesome AVs) do not slow down while reading the entire disk.
Several users noted that during the initializing process the cursor movement was jerky, and suggested to give up the processor to allow smoother cursor control. The problem is that the cursor movement is “interrupt-driven”: it does not depend on the processor sharing among applications. It happens that the Disk Driver disables interrupts frequently and for long periods while interacting with the disks. While interrupts are disabled, the processor cannot acknowledge that the cursor has been moved and react accordingly. Again, the Macs with I/O chips do not have this problem, because the cursor movement and the disk access are handled by a separate custom processor, offloading the central processor. The main problem is that even Macs with Sound Chips cannot play sounds smoothly while a disk is being formatted/verified (perhaps the AV can?).
◊ I wrote Disk Charmer because a friend of mine gave me a tape drive as a present. I put my enormous floppy collection on tapes, then I needed to re-format all of the darned floppies! I was really tired of the modal interface of Disk Charmer 1.x. I wanted a drag & drop eraser with every possible option and a nice, easy to use interface. If you think I have succeeded, send me the fee!
You certainly noticed that Disk Charmer 2 is a direct consequence of a “hardware” gift. So, if you really feel compelled, send in good hardware! Perhaps I will be inspired and write another piece of useful software ;-).
◊ With a little trick you can now create a hybrid: a 720K regular Macintosh floppy disk. Erase a normal 800K disk with Apple File Exchange, asking the WC-DOS 720K format; set Disk Charmer to the “Only erase disk catalog” option; insert the floppy. Disk Charmer will create a 720K disk instead of an 800K disk. You lose about 80K of storage, no big deal. Just to let you know you can do it.
• DISCLAIMER
◊ “No warranties at all, either express or implied…” “All trademarks are held by their respective owners…” and all that stuff.
This application should do no damage, but if it does then you will be on your own. Let me know of any bugs you run into, anyway.
• VERSION HISTORY:
◊ 2.1.1 - A wonderful and subtle bug lurked in the code I wrote to allow the marvelous additions in 2.1. This could cause subtle hangs while Disk Charmer was creating the disk catalog. Incredibly indeed, last night I had a nightmare in which I discovered a bug in Disk Charmer 2.1. Well, this was a premonitory dream, really.
◊ 2.1 - Lets you choose whether to lock out bad sectors or not. The first part of the bad sectors search phase can now execute concurrently with other applications, provided that you have the Thread Manager installed.
◊ 2.0.8 - Alerts if you try using a floppy disk with open files on it.
Fixed (at last!) a problem with the about box, and its incompatibility with AutoMenus II, reported by Duane W. Small and stevewho@aol.com. It was my fault, not AutoMenus’.
No more pauses between initializing and verifying (this only occurred on some Mac models and when the Thread Manager was not installed).
Slightly increased the memory partition.
The Command-period key combination is detected in the Apple-approved way; the previous method I adopted, although pretty straightforward, does not work (according to Apple) on some international keyboards.
You can abort by pressing esc or Command-period immediately after the disk is inserted.
If you insert (when trying to undo) a disk which has not the correct capacity, Disk Charmer suggests the right capacity.
Added a nifty registration form.
◊ 2.0.7 - Erasing a disk with the “Rename already formatted disks” option unchecked led to a bus or address error (found by Peppino the everpresent); stripped down a bit of code.
◊ 2.0.6 - Bug fix introducing a new bug: ever heard of this? It happens that the Disk Driver needs 2 instead of 0 in csParam only for 800K disks; HD disks need 0.
◊ 2.0.5 - Will not bore when you insert a High Sierra, ISO 9660 or Audio CD-ROM telling you that the disk is locked: the CD now mounts on the desktop (if the CD-ROM driver is installed, obviously); the message informing that a bad disk was ejected did not state that the disk was actually repaired (reported by Alan Harris); when the “Erase disk” option is active and you insert a disk formatted with a smaller than the maximum capacity, the capacity is now correctly set to the maximum (reported by Fabrizio Grandoni and Martin Josso) (for techies: set the csParam in the _Control call to 2 instead of 0, a nice but undocumented feature of the Disk Driver); keeps the undo buffer correctly instead of discarding it in one particular event; slightly increased the memory partition.
◊ 2.0.4 - Tremendous error: start up Disk Charmer 2.0.3 with System 6 and get the following: there is not enough memory…! Now the message is correct (reported by Roberto Leonardi of MacDisk Magazine).
◊ 2.0.3 - In unusual circumstances the icon in the Disk Charmer window would not gray out (tech note: it seems that you cannot mask out osEvents); alerts if the user types a disk name longer than 27 characters; minor improvements; better dialog design for disk naming, suggested by Alessandro.
◊ 2.0.2 - The icon in the Disk Charmer window appears grayed when DC is in the background; warns you if the disk is “not a Macintosh” one, such as a WC-DOS disk; interface oddities removed: gone are the useless icons in the main window; fixed an obscure bug, occurring because I did not set correctly a couple of resource attributes (I am particularly ashamed for this); now it is faster when operating in background with the Thread Manager installed and other applications tying up the processor; did not update and activate correctly the main window when the preferences dialog was open (Peppino strikes back); did not clear the disk name in the main window when a blank disk was inserted (Return of the PeppinJedi); minor internal improvements.
◊ 2.0.1 - The disk names are properly truncated: you cannot give a name longer than 27 characters to a disk (Peppino reminded me of this). The Macintosh Clipboard is copied (in memory) across every opened application. If the clipboard is large, Disk Charmer 2.0 sometimes tells you that there is not enough memory to run. This was fixed (reported by Alessandro).
◊ 2.0 - Released!
◊ 2.0b6 - Balloon help tells that verifying is non-destructive, and indicates precise Kbyte gains when you make larger disks; minor code changes; icon placement modified & changes in the application small icons suggested by Alberto Ricci.
◊ 2.0b5 - Now the user can disable the use of the Thread Manager in the preferences; it tells you whether it will read the next disk or not if the previous disk was bad (bug found by Peppino).
◊ 2.0b4 - Uses the Thread Manager if present, so that background formatting is possible; sets the cursor to a watch when necessary.
◊ 2.0b3 - Redraws the text drawn after erasure one time only.
◊ 2.0b2 - Fixed a quirk in the dialog handling code; clicking on the disk icon iconizes and de-iconizes the window (implemented because most people do not seem to notice the zoom box); redraws the text drawn after verification one time only; leaves the disk name shown after ejection; gives a verbose error when you cleverly insert a locked, unreadable disk.
◊ 2.0b1 - Redraws the text one time only if you press esc or Command-period repeatedly while reading (thanks, Paolo!) and beeps when the key is hit for feedback; instead of the generic “waiting…” message, it tells you whether it will read the next disk or not (suggested by Peppino); filtered characters, so that only numbers are accepted, in the preferences dialog.
◊ 2.0a10 - Lowered memory requirements.
◊ 2.0a9 - Stripped out a bit of code; handled async reads & writes with completion routines.
◊ 2.0a8 - Added asynchronous disk ejection; it does not seem to be different from the synchronous one.
◊ 2.0a7 - Added accent on António (Costa), remarked by Federico Cavaglià; changed the About… picture; added a couple of balloons; the disk name did not appear when verifying only (thanks, Peppino!).
◊ 2.0a6 - Checks if there is enough memory to run; split preferences, with more naming features; improved Balloon Help; improved (but it is still ugly) the “larger disks” signal.
◊ 2.0a5 - Set resource attributes better; added “larger disks” signal in the main window.
◊ 2.0a4 - One alert was not sufficiently tall to accommodate for the text.
◊ 2.0a3 - Cool about box… not for everybody! Added verbose explanations for the most common errors and better handling of uncommon disk formats.
◊ 2.0a2 - Added support for esc & Command-period in alert boxes. Various minor corrections and bug fixes.
◊ 2.0a1 - I have not recorded the nine development versions, so I start here.
• THANKS TO…
◊ Luciano Baesso, whose wide range of Macs allowed more extended testing.
◊ Federico Cavaglià, for patient and impatient beta-testing and a long list of things, too long to be summarized here (he rightfully calls me “the sloppy programmer”). Furthermore, Disk Charmer 2.x exists only because of his gift.
◊ Edoardo Ciotti tested on his lowly Mac SE.
◊ Roberto Leonardi found the awful bug of the wrong alert, and last but not least distributed Disk Charmer on MacDisk Magazine here in Italy.
◊ Alessandro Levi Montalcini, who gave many, many fundamental suggestions about the user interface. Disk Charmer 2.x would have been really worse without his help.
◊ Anna Olmo tested on her Color Classic.
◊ Ingemar Ragnemalm had the good idea of naming new disks differently depending on whether there were errors or not.
◊ Alberto Ricci, for aesthetical suggestions regarding my icons, and beta testing.
◊ Mirko Richiero gave useful suggestions, too.
◊ Paolo Sasso tested on his PowerBook 180, discovering that Greg’s Buttons 3.0 freezes his Mac while Disk Charmer is reading from the disk.
◊ Giuseppe “Peppino” Ventura discovered the interesting (unintentional) feature allowing to make 720K Mac disks, suggested the extended disk naming options (normal vs. larger) and tested on his lowly Mac Classic, finding lots of bugs.
• ENJOY YOURSELF,
and remember that more and more shareware authors are going commercial because they receive almost nothing. If you don’t pay for good shareware software today, it is likely that you will pay much more in the future for exactly the same features, plus a nifty package, a good manual, and perhaps a copy protection scheme or a serial number; you should definitely have understood that you don’t need the package, nor the copy protection, and you undoubtedly do not want to waste your time reading manuals.
For errors, suggestions, and others send e-mail to simula3@di.unito.it